﻿/**
 *			基本类型声明
 */
#ifndef OSS_TYPE_H_
#define OSS_TYPE_H_
//定义无限时间
#define OSS_INFINITE_TIME		0xffffffff

//路径最大长度
#define OSS_MAX_PATH			260 


//文件名最大长度
#define OSS_FILE_NAME_MAX                   260


#ifndef OUT
#define OUT
#endif

#ifndef IN
#define IN
#endif

#ifndef MODIFIABLE
#define MODIFIABLE
#endif // !MODIFIABLE


#ifndef NULL
#define NULL				0
#endif

#define TRUE				1
#define	FALSE				0
#define OUT					
#define IN				

#ifndef OSS_MAX_PATH
#define OSS_MAX_PATH			250
#endif

//定义数据类型
#ifndef OSS_TYPEDEF
#define OSS_TYPEDEF
typedef	void*				Handle;
typedef unsigned long       DWord;
typedef unsigned short		Word;
typedef int					Bool;
typedef void*				Socket;
typedef unsigned char		Byte;
typedef void*               LPVoid;
typedef int                 Int;
typedef short               Short;
typedef float               Float;
typedef double              Double;
typedef long long			Long64;
typedef void*				WParam;
typedef void*				LParam;
typedef short				WChar;
#endif

#ifndef VOID
#define VOID void
#endif

#ifdef __cplusplus
#define OSS_EXTERN_BEG		extern "C"{ 
#define OSS_EXTERN_END		};
#else
#define OSS_EXTERN_BEG		
#define OSS_EXTERN_END		
#endif

//标准调用
#ifdef LINUX
#define OSS_STDAPI __attribute__((__stdcall__))
#else 
#define OSS_STDAPI __stdcall 
#endif



#define OSS_SHRT_MIN    (-32768)        /* minimum (signed) short value */
#define OSS_SHRT_MAX      32767         /* maximum (signed) short value */
#define OSS_USHRT_MAX     0xffff        /* maximum unsigned short value */
#define OSS_INT_MIN     (-2147483647 - 1) /* minimum (signed) int value */
#define OSS_INT_MAX       2147483647    /* maximum (signed) int value */
#define OSS_UINT_MAX      0xffffffff    /* maximum unsigned int value */
#define OSS_LONG_MIN    (-2147483647L - 1) /* minimum (signed) long value */
#define OSS_LONG_MAX      2147483647L   /* maximum (signed) long value */
#define OSS_ULONG_MAX     0xffffffffUL  /* maximum unsigned long value */
#define OSS_LLONG_MAX     9223372036854775807i64       /* maximum signed long long int value */
#define OSS_LLONG_MIN   (-9223372036854775807i64 - 1)  /* minimum signed long long int value */
#define OSS_ULLONG_MAX    0xffffffffffffffffui64       /* maximum unsigned long long int value */

#endif